import json


def taa():
    other_param = {"scheduleTime": {"complementStartDate": "2024-07-09 00:00:00", "complementEndDate": "2024-07-09 00:00:00",
     "complementCalendarType": "NATURAL", "complementCalendarCode": ""}}
    for k,v in other_param.items():
        print(k,v)


def update_data_by_param(data, param):
    """
    根据 param 的键路径更新 data 中的值。
    :param data: 原始数据字典。
    :param param: 包含更新路径和新值的字典。
    :return: 更新后的数据字典。
    """

    def update(current_data, keys, value):
        """
        递归更新数据。
        :param current_data: 当前处理的数据部分。
        :param keys: 当前处理的键路径。
        :param value: 要更新的值。
        """
        if len(keys) == 1:
            current_data[keys[0]] = value
        else:
            if keys[0] not in current_data:
                current_data[keys[0]] = {}
            update(current_data[keys[0]], keys[1:], value)

    for path, value in param.items():
        keys = path.split('_')
        update(data, keys, value)

    return data


def deep_update(data, updates):
    """
    递归地更新字典，确保完全替换指定的嵌套字典。
    :param data: 原始字典。
    :param updates: 包含更新的字典。
    :return: 更新后的字典。
    """
    for key, value in updates.items():
        if isinstance(value, dict) and key in data and isinstance(data[key], dict):
            # 如果值是字典且对应的键在data中，且data中的值也是字典，则递归更新
            data[key] = deep_update(data.get(key, {}), value)
        else:
            # 否则，直接更新值
            data[key] = value
    return data


if __name__ == '__main__':
    table_list = ["a", "b"]
    source_mapper_json = []
    mapper = {'tableName': ""}
    for table in table_list:
        mapper["tableName"] = table
        source_mapper_json.append(mapper)
    print(source_mapper_json)

